/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package cl.ejemplo.model;

import cl.ejemplo.beans.LavanderiaE;
import cl.ejemplo.beans.Ropa;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Camila
 */
public class LavanderiaE_mod extends Conexion {
    
    /**
     *
     * @param LavanderiaE
     * @return
     */
    public ArrayList escogerPedido(LavanderiaE LavanderiaE) {
        ArrayList pedido = new ArrayList();
        try {
            StringBuilder sb = new StringBuilder();
            sb.append("select c.id_comprobante from comprobante c where id_comprobante=");
            sb.append("'");
            sb.append(LavanderiaE.getNumComprobante());
            sb.append("'");
            ResultSet rs = ObtenerConsulta(sb.toString());
            while (rs.next()){
            pedido.add(new LavanderiaE(rs.getInt("id_comprobante")));   
            }
        } catch (SQLException ex) {
            Logger.getLogger(LavanderiaE_mod.class.getName()).log(Level.SEVERE, null, ex);
        }
        return pedido;
    }
    
    /**
     *
     * @param lav
     * @return
     */
    public ArrayList<LavanderiaE> ingresarPedido(LavanderiaE lav){
         ArrayList<LavanderiaE> lavanderia =new ArrayList<>();
         StringBuilder sb = new StringBuilder();
         lavanderia.add(new LavanderiaE(lav.getNombre(),lav.getRopa_sucia(),lav.getRopa_recib(),lav.getRopa_env(),lav.getTotal_kilo(),lav.getFecha_env(),lav.getObservaciones()));
        sb.append("insert into Comprobante (id_comprobante, id_lavanderiae,detalle_ropa,ropa_sucia,ropa_env, ropa_recib,total_kilo,fecha_env, observaciones) values(");
        sb.append("'");
        sb.append(lav.getNombre());
        sb.append("'");
        sb.append(",");
        sb.append("'");
        sb.append(lav.getRopa_sucia());
        sb.append("'");
        sb.append(",");
        sb.append("'");
        sb.append(lav.getRopa_recib());
        sb.append("'");
        sb.append(",");
        sb.append("'");
        sb.append(lav.getRopa_env());
        sb.append("'");
        sb.append(",");
        sb.append("'");
        sb.append(lav.getTotal_kilo());
        sb.append("'");
        sb.append(",");
        sb.append("'");
        sb.append(lav.getFecha_env());
        sb.append("'");
        sb.append(",");
        sb.append("'");
        sb.append(lav.getObservaciones());
        sb.append("'");
        sb.append(")");       
        ejecutaSql(sb.toString());
         
         return lavanderia;
    }
    
    /**
     *
     * @param lav
     * @return
     */
    public ArrayList recibirPedido(LavanderiaE lav){
        ArrayList pedido = new ArrayList();
        StringBuilder sb = new StringBuilder();
        sb.append("insert into prestamolav (fecha_env,fecha recib, deuda, cant_env, observaciones)values(");
        sb.append("'");
        sb.append(lav.getFecha_env());
        sb.append("'");
        sb.append(",");
        sb.append("'");
        sb.append(lav.getFecha_recib());
        sb.append("'");
        sb.append(",");
        sb.append("'");
        sb.append(lav.getDeuda());
        sb.append("'");
        sb.append(",");
        sb.append("'");
        sb.append(lav.getCant_env());
        sb.append("'");
        sb.append(",");
        sb.append("'");
        sb.append(lav.getExceso_ropa());
        sb.append("'");       
        sb.append(")");
        ejecutaSql(sb.toString());
        return pedido;
    }
    
    /**
     *
     * @return
     */
    public ArrayList verHistorial(){ //OK
        ArrayList pedido = new ArrayList();
        try {
            StringBuilder sb = new StringBuilder();
            sb.append("select * from comprobante");
            ResultSet rs = ObtenerConsulta(sb.toString());
            while (rs.next()) {
                pedido.add(new LavanderiaE(rs.getInt("id_comprobante"),
                        rs.getInt("id_lavanderiae"),
                        rs.getString("detalle_ropa"),
                        rs.getInt("ropa_sucia"),
                        rs.getInt("ropa_limpia"),
                        rs.getInt("ropa_env"),
                        rs.getInt("total_kilo"),
                        rs.getDate("fecha_env").toLocaleString(),
                        rs.getString("observaciones")));
            }
        } catch (SQLException ex) {
            Logger.getLogger(Administrador_mod.class.getName()).log(Level.SEVERE, null, ex);
        }
        return pedido;
    }
    
    /**
     *
     * @param LavanderiaE
     * @param Ropa
     * @return
     */
    public ArrayList verPedido(LavanderiaE LavanderiaE, Ropa Ropa){ //OK
        ArrayList pedido = new ArrayList();
        try{
            StringBuilder sb = new StringBuilder();
            sb.append("select *from comprobante c, prestamolav pl, ropa r where c.id_comprobante=");
            sb.append("'");
            sb.append(LavanderiaE.getNumComprobante());
            sb.append("'");
            sb.append("pl.id_comprobante and r.id_ropa=");
            sb.append("'");
            sb.append(Ropa.getNumRopa());
            sb.append("'");
            sb.append("pl.id_ropa=");
            ResultSet rs = ObtenerConsulta(sb.toString());
            while (rs.next()){
            pedido.add(new LavanderiaE(rs.getInt("id_comprobante"),
                    rs.getInt("id_lavanderiae"),
                    rs.getString("detalle_ropa"),
                    rs.getInt("ropa_sucia"),
                    rs.getInt("ropa_env"),
                    rs.getInt("ropa_recib"),
                    rs.getInt("total_kilo"),
                    rs.getDate("fecha_env").toLocaleString(),
                    rs.getString("observaciones"),
                    rs.getDate("fecha_recib").toLocaleString(),
                    rs.getInt("deuda"),
                    rs.getInt("cant_env"),
                    rs.getInt("exceso_ropa")));
            }
        }
         catch (SQLException ex) {
            Logger.getLogger(LavanderiaE_mod.class.getName()).log(Level.SEVERE, null, ex);
        }
        return pedido;
    }
}
